Skip to content

Fix/rate limit validation#417

Merged
Mosas2000 merged 30 commits into
mainfrom
fix/rate-limit-validation
May 30, 2026
Merged

Fix/rate limit validation#417
Mosas2000 merged 30 commits into
mainfrom
fix/rate-limit-validation

Conversation

@Mosas2000

Copy link
Copy Markdown
Owner

Key Features Added
Configuration Bounds Constants

Exported RATE_LIMIT_BOUNDS with min/max values for all parameters
Single source of truth for validation ranges
Enhanced Validation

Type checking (number, finite, integer)
Range validation with clear boundaries
Improved error messages with specific guidance
Validation at startup, construction, and runtime updates
New Functions

parseRateLimitEnv() - Validates environment variables at startup
isValidRateLimitConfig() - Quick validation check
formatValidationError() - Structured error formatting
Startup Validation

Server validates configuration on startup
Fails fast with clear error messages
Logs successful initialization
Constructor & Runtime Validation

Both RateLimiter and AddressRateLimiter validate on construction
updateConfig() methods validate before applying changes
Validation Rules
maxRequests: Integer between 1 and 10,000
windowMs: Integer between 1,000ms (1 second) and 3,600,000ms (1 hour)
Must be numbers (not strings, objects, etc.)
Must be finite (not Infinity or -Infinity)
Must not be NaN
Testing
585 total tests - all passing
Added 34 new validation tests covering:
Type validation
Range validation
Constructor validation
Runtime update validation
Startup validation
Edge cases (negative values, Infinity, NaN, etc.)

Closes #402

Mosas2000 added 30 commits May 30, 2026 15:44
@Mosas2000 Mosas2000 merged commit 326ca07 into main May 30, 2026
4 of 9 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Implement rate limit configuration validation

1 participant